﻿$(document).ready(function () {
    $("input[type='text']").each(function (index) {
        this.autocomplete = "off";
    });
});

var myTable;
$(function () {
    myTable = new TableInit();
    myTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
});
var currentRow;
var TableInit = function () {
    var myTableInit = new Object();
    //初始化Table
    myTableInit.Init = function () {
        $('#tb_user').bootstrapTable({
            url: '/User/GetPageUserList',         //请求后台的URL（*）
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            singleSelect: true,                     // 单选checkbox  
            sortOrder: "asc",                   //排序方式
            queryParams: myTableInit.queryParams,//传递参数（*）
            queryParamsType: "",
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            //height: 630,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "id",                     //每一行的唯一标识，一般为主键列
            detailView: false,                   //是否显示父子表
            columns: [
                { radio: 'true' },
                { field: 'id', title: '编号' },
                { field: 'loginAccount', title: '用户账户' },
                { field: 'name', title: '用户名称' },
                { field: 'roleId', title: '角色编号' },
                { field: 'roleName', title: '所属角色' },
                { field: 'mobile', title: '手机' },
                { field: 'sex', title: '性别' },
                { field: 'sexName', title: '性别' },
                { field: 'birth', title: '生日' },
                { field: 'isEnabled', title: '状态' },
                { field: 'enableName', title: '状态' },
                { field: 'registerTime', title: '创建时间' },
                { field: 'updateTime', title: '修改时间' },
                { field: 'remark', title: '备注' }
            ]
        });

        $('#tb_user').bootstrapTable("hideColumn", "id");
        $('#tb_user').bootstrapTable("hideColumn", "roleId");
        $('#tb_user').bootstrapTable("hideColumn", "sex");
        $('#tb_user').bootstrapTable("hideColumn", "isEnabled");

    };
    //得到查询的参数
    myTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            pageSize: params.pageSize,
            pageIndex: params.pageNumber,
            startTime: $("#search_start").val(),
            endTime: $("#search_end").val(),
            search_state: $("#search_state").val(),
            search_keyword: $("#search_keyword").val()
        };
        return temp;
    };
    return myTableInit;
};
var ButtonInit = function () {
    var oInit = new Object();
    //初始化数据
    oInit.Init = function () {
        //查询按钮点击事件
        $("#btn_query").click(function () {
            $('#tb_user').bootstrapTable("refresh");//刷新服务端的数据
        });
    };

    //用户新增按钮的点击事件
    $("#btn_add").click(function () {
        $("#LoginAccount").val("");
        $("#LoginPasswd").val("");
        $("#Name").val("");
        $("#Birth").val("");
        $("#Mobile").val("");
        $("#Remark").val("");
        $("#addBox").modal("show");//弹出模态框
        Reset(); //重置表单样式至初始样式
    });


    //用户编辑按钮的点击事件
    $("#btn_edit").click(function () {
        var row = $('#tb_user').bootstrapTable("getSelections");//返回被选择的行，当没有行被选择，则返回空数组
        if (row.length != 1) {
            swal("错误", "请选中一行数据后编辑", "error");
            return;
        }

        currentRow = row[0];
        SetEditWindowContent(currentRow);
        $("#editBox").modal("show");//弹出模态框
    });


    return oInit;
};

Date.prototype.Format = function (fmt) { //author: wangf 
    var o = {
        "M+": this.getMonth() + 1, //月份 
        "d+": this.getDate(), //日 
        "h+": this.getHours(), //小时 
        "m+": this.getMinutes(), //分 
        "s+": this.getSeconds(), //秒 
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
        "S": this.getMilliseconds() //毫秒 
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
var start = {
    elem: '#search_start',
    format: "YYYY-MM-DD hh:mm:ss",
    min: "2018-01-01 00:00:00",
    max: "2099-06-16 23:59:59",
    istime: false,
    istoday: true,
    choose: function (datas) {
        end.min = datas;
    }
};
var end = {
    elem: '#search_end',
    format: "YYYY-MM-DD  23:59:59",
    min: "2018-01-01 00:00:00",
    max: "2099-06-16 23:59:59",
    istime: false,
    istoday: true,
    choose: function (datas) {
        start.max = datas;
    }
};



//设置编辑弹窗的内容
function SetEditWindowContent(currentRow) {
    $("#editId").val(currentRow.id);
    $("#editRoleId").val(currentRow.roleId);
    $("#editLoginAccount").val(currentRow.loginAccount);
    $("#editName").val(currentRow.name);
    $("#editBirth").val(currentRow.birth);
    $("#editMobile").val(currentRow.mobile);
    $("#editRemark").val(currentRow.remark);

    if (currentRow.sex == 1) {
        $("#editsex1").attr("checked", "checked");
        $("#editsex0").removeAttr("checked");
    } else {
        $("#editsex0").attr("checked", "checked");
        $("#editsex1").removeAttr("checked");
    }

    if (currentRow.isEnabled == 1) {
        $("#editIsEnabled1").attr("checked", "checked");
        $("#editIsEnabled0").removeAttr("checked");
    } else {
        $("#editIsEnabled0").attr("checked", "checked");
        $("#editIsEnabled1").removeAttr("checked");
    }

}